home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part1 / 2201 < prev    next >
Encoding:
Text File  |  1996-08-06  |  3.4 KB  |  72 lines

  1. Newsgroups: comp.object,comp.software-eng,comp.lang.c++
  2. Path: blackbush.xlink.net!slsv6bt!slsv6bt!kanze
  3. From: kanze@lts.sel.alcatel.de (James Kanze US/ESC 60/3/141 #40763)
  4. Subject: Re: Moving from C to C++
  5. In-Reply-To: rmartin@oma.com's message of 16 Jan 1996 01:02:52 GMT
  6. Message-ID: <KANZE.96Jan16141218@slsvewt.lts.sel.alcatel.de>
  7. Sender: news@lts.sel.alcatel.de
  8. Organization: SEL
  9. References: <4cs44p$3pk@ixnews8.ix.netcom.com> <30F2A6BE.4A54@hboc.com>
  10.     <RMARTIN.96Jan9220022@rcm.oma.com>
  11.     <KANZE.96Jan10113025@slsvewt.lts.sel.alcatel.de>
  12.     <RMARTIN.96Jan15190252@rcm.oma.com>
  13. Date: 16 Jan 1996 13:12:18 GMT
  14.  
  15. In article <RMARTIN.96Jan15190252@rcm.oma.com> rmartin@oma.com (Robert
  16. C. Martin) writes:
  17.  
  18. |> In article <KANZE.96Jan10113025@slsvewt.lts.sel.alcatel.de> kanze@lts.sel.alcatel.de (James Kanze US/ESC 60/3/141 #40763) writes:
  19.  
  20. |>    In article <RMARTIN.96Jan9220022@rcm.oma.com> rmartin@oma.com (Robert
  21. |>    C. Martin) writes:
  22.  
  23. |>    |> In article <30F2A6BE.4A54@hboc.com> "John A. Casavant" <john.casavant@hboc.com> writes:
  24.  
  25. |>    |>    There are really two issues that you need to be aware of when 
  26. |>    |>    moving to C++.  First, C++ is a language that supports object
  27. |>    |>    programming, but is not a pure object language. 
  28.  
  29. |>    |> Bah, and double Bah.  There is no good definition of what a "pure"
  30. |>    |> OOPL is, so it is meaningless to accuse C++ of "impurity".  Even if
  31. |>    |> there was a good definition of a "pure" OOPL, there is no indication
  32. |>    |> that there is any benfit to be derived from such "pure-ness".  
  33.  
  34. |>    To be too sensitive, Bob.  All the original poster said is what Bjarne
  35. |>    Stroustrup himself has said.  C++ is a language which supports many
  36. |>    programming idioms; OO is only one of them.
  37.  
  38. |> Well, perhaps I was a bit sensitive. 
  39.  
  40. |>    I think that the important point is: the fact that you are compiling
  41. |>    your programs with a C++ compiler does not mean that you are doing OO.
  42.  
  43. |> An associated point, which is just as important, is: The fact that you
  44. |> are compiling with X (where X can be any language you like
  45. |> e.g. Smalltalk, Eifel, etc), does not mean that you are doing OO.  
  46.  
  47. Probably true.  At the very least, the choice of languages does not
  48. imply in any what the choice of methodologies for analysis or design.
  49.  
  50. But...  In practice, the `similarity' of C and C++ does encourage
  51. people to continue to do things in the same old way.  Doing a small
  52. project in Smalltalk, for example, would probably do a lot to break
  53. the old patterns in your way of work, simply because the language *is*
  54. different.
  55.  
  56. More generally, I think that in the same way learning a foriegn
  57. language requires learning new thought patterns, and thus acquiring a
  58. certain critical point of view with regards to your traditional
  59. thought patterns, learning a distinctly different programming language
  60. cannot help but improve your programming in your principal language.
  61.  
  62. This is not just an OO question.  For example, I would love the
  63. opportunity to do an application in a functional language.  Learning a
  64. completely new idiom would open up new horizons, which I would no
  65. doubt also exploit in C++.
  66. --
  67. James Kanze         Tel.: (+33) 88 14 49 00        email: kanze@gabi-soft.fr
  68. GABI Software, Sarl., 8 rue des Francs-Bourgeois, F-67000 Strasbourg, France
  69. Conseils, Θtudes et rΘalisations en logiciel orientΘ objet --
  70.                 -- A la recherche d'une activitΘ dans une region francophone
  71.  
  72.